Back to Contents Page

iSCSI Protocol: Broadcom NetXtreme BCM57XX User Guide

iSCSI Boot

iSCSI Crash Dump


iSCSI Boot

Broadcom NetXtreme Gigabit Ethernet adapters support iSCSI boot to enable network boot of operating systems to diskless systems. The iSCSI boot allows a Windows or Linux operating system boot from an iSCSI target machine located remotely over a standard IP network.

For both Windows and Linux operating systems, iSCSI boot can be configured to boot with two distinctive paths: non-offload (also known as Microsoft/Open-iSCSI initiator) and offload (Broadcom's offload iSCSI driver or HBA). Configuration of the path is set with the HBA Boot Mode option located on the General Parameters screen of the iSCSI Configuration utility. See Table 1 for more information on all General Parameters screen configuration options.

Supported Operating Systems for iSCSI Boot

The Broadcom NetXtreme Gigabit Ethernet adapters support iSCSI boot on the following operating systems:

iSCSI Boot Setup

The iSCSI boot setup consists of:

Configuring the iSCSI Target

Configuring the iSCSI target varies by target vendors. For information on configuring the iSCSI target, refer to the documentation provided by the vendor. The general steps include:

  1. Create an iSCSI target.
  2. Create a virtual disk.
  3. Map the virtual disk to the iSCSI target created in step 1.
  4. Associate an iSCSI initiator with the iSCSI target.
  5. Record the iSCSI target name, TCP port number, iSCSI Logical Unit Number (LUN), initiator Internet Qualified Name (IQN), and CHAP authentication details.
  6. After configuring the iSCSI target, obtain the following:
    • Target IQN
    • Target IP address
    • Target TCP port number
    • Target LUN
    • Initiator IQN
    • CHAP ID and secret
Configuring iSCSI Boot Parameters

Configure the Broadcom iSCSI boot software for either static or dynamic configuration. Refer to Table 1 for configuration options available from the General Parameters screen.

Table 1 lists parameters for both IPv4 and IPv6. Parameters specific to either IPv4 or IPv6 are noted.

NOTE: Availability of IPv6 iSCSI boot is platform/device dependent.

Table 1: Configuration Options
Option
Description
TCP/IP parameters via DHCP
This option is specific to IPv4. Controls whether the iSCSI boot host software acquires the IP address information using DHCP (Enabled) or use a static IP configuration (Disabled).
IP Autoconfiguration
This option is specific to IPv6. Controls whether the iSCSI boot host software will configure a stateless link-local address and/or stateful address if DHCPv6 is present and used (Enabled). Router Solicit packets are sent out up to three times with 4 second intervals in between each retry. Or use a static IP configuration (Disabled).
iSCSI parameters via DHCP
Controls whether the iSCSI boot host software acquires its iSCSI target parameters using DHCP (Enabled) or through a static configuration (Disabled). The static information is entered through the iSCSI Initiator Parameters Configuration screen.
CHAP Authentication
Controls whether the iSCSI boot host software uses CHAP authentication when connecting to the iSCSI target. If CHAP Authentication is enabled, the CHAP ID and CHAP Secret are entered through the iSCSI Initiator Parameters Configuration screen.
DHCP Vendor ID
Controls how the iSCSI boot host software interprets the Vendor Class ID field used during DHCP. If the Vendor Class ID field in the DHCP Offer packet matches the value in the field, the iSCSI boot host software looks into the DHCP Option 43 fields for the required iSCSI boot extensions. If DHCP is disabled, this value does not need to be set.
Link Up Delay Time
Controls how long the iSCSI boot host software waits, in seconds, after an Ethernet link is established before sending any data over the network. The valid values are 0 to 255. As an example, a user may need to set a value for this option if a network protocol, such as Spanning Tree, is enabled on the switch interface to the client system.
Use TCP Timestamp
Controls if the TCP Timestamp option is enabled or disabled.
Target as First HDD
Allows specifying that the iSCSI target drive will appear as the first hard drive in the system.
LUN Busy Retry Count
Controls the number of connection retries the iSCSI Boot initiator will attempt if the iSCSI target LUN is busy.
IP Version
This option specific to IPv6. Toggles between the IPv4 or IPv6 protocol. All IP settings will be lost when switching from one protocol version to another.

MBA Boot Protocol Configuration

To configure the boot protocol

  1. Restart your system.
  2. From the PXE banner, select CTRL+S. The MBA Configuration Menu appears (see Broadcom Boot Agent).
  3. From the MBA Configuration Menu, use the UP ARROW or DOWN ARROW to move to the Boot Protocol option. Use the LEFT ARROW or RIGHT ARROW to change the Boot Protocol option to iSCSI.
  4. Select iSCSI Boot Configuration from Main Menu.
  5. NOTE: If iSCSI boot firmware is not programmed in the NetXtreme network adapter, selecting iSCSI Boot Configuration will not have any effect.

iSCSI Boot Configuration

Static iSCSI Boot Configuration

In a static configuration, you must enter data for the system's IP address, the system's initiator IQN, and the target parameters obtained in Configuring the iSCSI Target. For information on configuration options, see Table 1.

To configure the iSCSI boot parameters using static configuration

  1. From the General Parameters Menu screen, set the following:
    • TCP/IP parameters via DHCP: Disabled. (For IPv4.)
    • IP Autoconfiguration: Disabled. (For IPv6)
    • iSCSI parameters via DHCP: Disabled
    • CHAP Authentication: Disabled
    • Boot to iSCSI target: Disabled
    • DHCP Vendor ID: BRCM ISAN
    • Link Up Delay Time: 0
    • Use TCP Timestamp: Enabled
    • Target as First HDD: Disabled
    • LUN Busy Retry Count: 0
    • IP Version: IPv6. (For IPv6)
  2. Select ESC to return to the Main menu.
  3. From the Main menu, select Initiator Parameters.
  4. From the Initiator Parameters screen, type values for the following:
    • IP Address (unspecified IPv4 and IPv6 addresses should be "0.0.0.0" and "::", respectively)
    • Subnet Mask Prefix
    • Default Gateway
    • Primary DNS
    • Secondary DNS
    • iSCSI Name (corresponds to the iSCSI initiator name to be used by the client system)
    • NOTE: Carefully enter the IP address. There is no error-checking performed against the IP address to check for duplicates or incorrect segment/network assignment.

  5. Select ESC to return to the Main menu.
  6. From the Main menu, select 1st Target Parameters.
  7. From the 1st Target Parameters screen, enable Connect to connect to the iSCSI target. Type values for the following using the values used when configuring the iSCSI target:
    • IP Address
    • TCP Port
    • Boot LUN
    • iSCSI Name
  8. Select ESC to return to the Main menu.
  9. Select ESC and select Exit and Save Configuration.
  10. Select F4 to save your MBA configuration.
  11. If necessary, return to the iSCSI Boot Configuration Utility to configure a second iSCSI target.

Dynamic iSCSI Boot Configuration

In a dynamic configuration, you only need to specify that the system's IP address and target/initiator information are provided by a DHCP server (see IPv4 and IPv6 configurations in Configuring the DHCP Server to Support iSCSI Boot). For IPv4, with the exception of the initiator iSCSI name, any settings on the Initiator Parameters, 1st Target Parameters, or 2nd Target Parameters screens are ignored and do not need to be cleared. For IPv6, with the exception of the CHAP ID and Secret, any settings on the Initiator Parameters, 1st Target Parameters, or 2nd Target Parameters screens are ignored and do not need to be cleared. For information on configuration options, see Table 1.

NOTE: When using a DHCP server, the DNS server entries are overwritten by the values provided by the DHCP server. This occurs even if the locally provided values are valid and the DHCP server provides no DNS server information. When the DHCP server provides no DNS server information, both the primary and secondary DNS server values are set to 0.0.0.0. When the Windows OS takes over, the Microsoft iSCSI initiator retrieves the iSCSI Initiator parameters and configures the appropriate registries statically. It will overwrite whatever is configured. Since the DHCP daemon runs in the Windows environment as a user process, all TCP/IP parameters have to be statically configured before the stack comes up in the iSCSI Boot environment.

If DHCP Option 17 is used, the target information is provided by the DHCP server, and the initiator iSCSI name is retrieved from the value programmed from the Initiator Parameters screen. If no value was selected, then the controller defaults to the name:

iqn.1995-05.com.broadcom.<11.22.33.44.55.66>.iscsiboot

where the string 11.22.33.44.55.66 corresponds to the controller's MAC address.

If DHCP option 43 (IPv4 only) is used, then any settings on the Initiator Parameters, 1st Target Parameters, or 2nd Target Parameters screens are ignored and do not need to be cleared.

To configure the iSCSI boot parameters using dynamic configuration

  1. From the General Parameters Menu screen, set the following:
    • TCP/IP parameters via DHCP: Enabled. (For IPv4.)
    • IP Autoconfiguration: Enabled. (For IPv6)
    • iSCSI parameters via DHCP: Enabled
    • CHAP Authentication: Disabled
    • Boot to iSCSI target: Disabled
    • DHCP Vendor ID: BRCM ISAN
    • Link Up Delay Time: 0
    • Use TCP Timestamp: Enabled
    • Target as First HDD: Disabled
    • LUN Busy Retry Count: 0
    • IP Version: IPv6. (For IPv6)
  2. Select ESC to return to the Main menu.
  3. NOTE: Information on the Initiator Parameters, and 1st Target Parameters screens are ignored and do not need to be cleared.

  4. Select Exit and Save Configurations.
Enabling CHAP Authentication

Ensure that CHAP authentication is enabled on the target.

To enable CHAP authentication

  1. From the General Parameters screen, set CHAP Authentication to Enabled.
  2. From the Initiator Parameters screen, type values for the following:
    • CHAP ID (up to 128 bytes)
    • CHAP Secret (if authentication is required, and must be 12 characters in length or longer)
  3. Select ESC to return to the Main menu.
  4. From the Main menu, select 1st Target Parameters.
  5. From the 1st Target Parameters screen, type values for the following using the values used when configuring the iSCSI target:
    • CHAP ID (optional if two-way CHAP)
    • CHAP Secret (optional if two-way CHAP, and must be 12 characters in length or longer)
  6. Select ESC to return to the Main menu.
  7. Select ESC and select Exit and Save Configuration.
Configuring the DHCP Server to Support iSCSI Boot

The DHCP server is an optional component and it is only necessary if you will be doing a dynamic iSCSI Boot configuration setup (see Dynamic iSCSI Boot Configuration).

Configuring the DHCP server to support iSCSI boot is different for IPv4 and IPv6.

DHCP iSCSI Boot Configurations for IPv4

The DHCP protocol includes a number of options that provide configuration information to the DHCP client. For iSCSI boot, Broadcom adapters support the following DHCP configurations:

DHCP Option 17, Root Path

Option 17 is used to pass the iSCSI target information to the iSCSI client.

The format of the root path as defined in IETC RFC 4173 is:

"iscsi:"<servername>":"<protocol>":"<port>":"<LUN>":"<targetname>"

The parameters are defined below.

Table 2: DHCP Option 17 Parameter Definition
Parameter
Definition
"iscsi:"
A literal string
<servername>
The IP address or FQDN of the iSCSI target
":"
Separator
<protocol>
The IP protocol used to access the iSCSI target. Currently, only TCP is supported so the protocol is 6.
<port>
The port number associated with the protocol. The standard port number for iSCSI is 3260.
<LUN>
The Logical Unit Number to use on the iSCSI target. The value of the LUN must be represented in hexadecimal format. A LUN with an ID OF 64 would have to be configured as 40 within the option 17 parameter on the DHCP server.
<targetname>
The target name in either IQN or EUI format (refer to RFC 3720 for details on both IQN and EUI formats). An example IQN name would be "iqn.1995-05.com.broadcom:iscsi-target".

DHCP Option 43, Vendor-Specific Information

DHCP option 43 (vendor-specific information) provides more configuration options to the iSCSI client than DHCP option 17. In this configuration, three additional suboptions are provided that assign the initiator IQN to the iSCSI boot client along with two iSCSI target IQNs that can be used for booting. The format for the iSCSI target IQN is the same as that of DHCP option 17, while the iSCSI initiator IQN is simply the initiator's IQN.

NOTE: DHCP Option 43 is supported on IPv4 only.

The suboptions are listed below.

Table 3: DHCP Option 43 Suboption Definition
Suboption
Definition
201
First iSCSI target information in the standard root path format
"iscsi:"<servername>":"<protocol>":"<port>":"<LUN>":"<targetname>"
202
Second iSCSI target information in the standard root path format
"iscsi:"<servername>":"<protocol>":"<port>":"<LUN>":"<targetname>"
203
iSCSI initiator IQN

Using DHCP option 43 requires more configuration than DHCP option 17, but it provides a richer environment and provides more configuration options. Broadcom recommends that customers use DHCP option 43 when performing dynamic iSCSI boot configuration.

Configuring the DHCP Server

Configure the DHCP server to support option 17 or option 43.

NOTE: If using Option 43, you also need to configure Option 60. The value of Option 60 should match the DHCP Vendor ID value. The DHCP Vendor ID value is BRCM ISAN, as shown in General Parameters of the iSCSI Boot Configuration menu.

DHCP iSCSI Boot Configuration for IPv6

The DHCPv6 server can provide a number of options, including stateless or stateful IP configuration, as well s information to the DHCPv6 client. For iSCSI boot, Broadcom adapters support the following DHCP configurations:

DHCPv6 Option 16, Vendor Class Option

DHCPv6 Option 16 (vendor class option) must be present and must contain a string that matches your configured DHCP Vendor ID parameter. The DHCP Vendor ID value is BRCM ISAN, as shown in General Parameters of the iSCSI Boot Configuration menu.

The content of Option 16 should be <2-byte length> <DHCP Vendor ID>.

DHCPv6 Option 17, Vendor-Specific Information

DHCPv6 Option 17 (vendor-specific information) provides more configuration options to the iSCSI client. In this configuration, three additional suboptions are provided that assign the initiator IQN to the iSCSI boot client along with two iSCSI target IQNs that can be used for booting.

The suboptions are listed below.

Table 4: DHCP Option 17 Suboption Definition
Suboption
Definition
201
First iSCSI target information in the standard root path format
"iscsi:"[<servername>]":"<protocol>":"<port>":"<LUN>":"<targetname>"
202
Second iSCSI target information in the standard root path format
"iscsi:"[<servername>]":"<protocol>":"<port>":"<LUN>":"<targetname>"
203
iSCSI initiator IQN

NOTE: In Table 4, the brackets [ ] are required for the IPv6 addresses.

The content of option 17 should be <2-byte Option Number 201|202|203> <2-byte length> <data>.

Configuring the DHCP Server

Configure the DHCP server to support Option 16 and Option 17.

NOTE: The format of DHCPv6 Option 16 and Option 17 are fully defined in RFC 3315.

Preparing the iSCSI Boot Image

Windows Server 2008 R2 and SP2 iSCSI Boot Setup

Windows Server 2008 R2 and Windows Server 2008 SP2 support iSCSI booting. The following procedure references Windows Server 2008 R2 but is common to both the Windows Server 2008 R2 and SP2.

Required CD/ISO image:

Other software required:

Procedure:

  1. Remove any local hard drives on the system to be booted (the "remote system").
  2. Load the latest Broadcom MBA and iSCSI boot images onto NVRAM of the adapter.
  3. Configure the BIOS on the remote system to have the Broadcom MBA as the first bootable device, and the CDROM as the second device.
  4. Configure the iSCSI target to allow a connection from the remote device. Ensure that the target has sufficient disk space to hold the new O/S installation.
  5. Boot up the remote system. When the Preboot Execution Environment (PXE) banner displays, press Ctrl+S to enter the PXE menu.
  6. At the PXE menu, set Boot Protocol to iSCSI.
  7. Enter the iSCSI target parameters.
  8. In General Parameters, set the Boot to Target parameter to One-Time Disabled.
  9. Save the settings and reboot the system.
  10. The remote system should connect to the iSCSI target and then boot from the DVDROM device.

  11. Boot to DVD and begin installation.
  12. Answer all the installation questions appropriately (specify the Operating System you want to install, accept the license terms, etc.).
  13. When the Where do you want to install Windows? window appears, the target drive should be visible. This is a drive connected via the iSCSI boot protocol, located in the remote iSCSI target.

  14. Select Next to proceed with Windows Server 2008 R2 installation.
  15. A few minutes after the Windows Server 2008 R2 DVD installation process starts, a system reboot will follow. After the reboot, the Windows Server 2008 R2 installation routine should resume and complete the installation.

  16. Following another system restart, check and verify that the remote system is able to boot to the desktop.
  17. After Windows Server 2008 R2 is booted up, load the driver and run Bindview.exe.
    1. Select All Services.
    2. Under WFP Lightweight Filter you should see Binding paths for the AUT. Right-click and disable them. When done, close out of the application.
  18. Verify that the OS and system are functional and can pass traffic by pinging a remote system's IP, etc.

Windows Server 2012 iSCSI Boot Setup

Windows Server 2012 supports iSCSI booting and installation. Broadcom requires the use of a "slipstream" DVD with the latest Broadcom drivers injected. See Injecting (Slipstreaming) the Broadcom Drivers into Windows Image Files. Also refer to the Microsoft knowledge base topic KB974072 at support.microsoft.com.

 

NOTE: The Microsoft procedure injects only the eVBD and NDIS drivers. Broadcom recommends that all drivers (eVBD, VBD, BXND, OIS, FCoE, and NetXtreme I NDIS) be injected.

The following procedure prepares the image for installation and booting:

  1. Remove any local hard drives on the system to be booted (the "remote system").
  2. Load the latest Broadcom MBA and iSCSI boot images into the NVRAM of the adapter.
  3. Configure the BIOS on the remote system to have the Broadcom MBA as the first bootable device and the CDROM as the second device.
  4. Configure the iSCSI target to allow a connection from the remote device. Ensure that the target has sufficient disk space to hold the new O/S installation.
  5. Boot up the remote system. When the Preboot Execution Environment (PXE) banner displays, press Ctrl+S to enter the PXE menu.
  6. At the PXE menu, set Boot Protocol to iSCSI.
  7. Enter the iSCSI target parameters.
  8. In General Parameters, set the Boot to Target parameter to One-Time Disabled.
  9. Save the settings and reboot the system.
  10. The remote system should connect to the iSCSI target and then boot from the DVDROM device.

  11. Boot from DVD and begin installation.
  12. Answer all the installation questions appropriately (specify the Operating System you want to install, accept the license terms, etc.).
  13. When the Where do you want to install Windows? window appears, the target drive should be visible. This is a drive connected via the iSCSI boot protocol, located in the remote iSCSI target.

  14. Select Next to proceed with Windows 2012 installation.
  15. A few minutes after the Windows 2012 DVD installation process starts, a system reboot will occur. After the reboot, the Windows 2012 installation routine should resume and complete the installation.

  16. Following another system restart, check and verify that the remote system is able to boot to the desktop.
  17. After Windows 2012 boots to the OS, Broadcom recommends running the driver installer to complete the Broadcom driver and application installation.

Linux iSCSI Boot Setup

Linux iSCSI boot is supported on Red Hat Enterprise Linux 5.5 and later and SUSE Linux Enterprise Server 11 SP1 and later in both the offload and non-offload paths. Note that SLES 10.x and SLES 11 have support only for the non-offload path.

  1. For driver update, obtain the latest Broadcom Linux driver CD.
  2. Configure the iSCSI Boot Parameters for DVD direct install to target by disabling the Boot from target option on the network adapter.
  3. Configure to install via the non-offload path by setting HBA Boot Mode to Disabled in the NVRAM Configuration. (Note: This parameter cannot be changed when the adapter is in Multi-Function mode.). Note that, for RHEL6.2 and SLES11SP2 and newer, installation via the offload path is supported. For this case, set the HBA Boot Mode to Enabled in the NVRAM Configuration.
  4. Change the boot order as follows:
    1. Boot from the network adapter.
    2. Boot from the CD/DVD driver.
  5. Reboot the system.
  6. System will connect to iSCSI target, then will boot from CD/DVD drive.
  7. Follow the corresponding OS instructions.
    1. RHEL 5.5 — Type "linux dd" at "boot:" prompt and press enter
    2. SuSE 11.X — Choose installation and type withiscsi=1 netsetup=1 at the boot option. If driver update is desired, choose YES for the F6 driver option.
  8. If driver update is desired, follow the instructions to load the driver CD; otherwise skip this step.
  9. At the "networking device" prompt, choose the desired network adapter port and press OK.
  10. At "configure TCP/IP prompt", configure the way the system acquire IP address and press OK.
  11. If static IP was chosen, you need to enter IP information for iscsi initiator.
  12. (RHEL) Choose to "skip" media testing.
  13. Continue installation as desired. A drive will be available at this point. After file copying is done, remove CD/DVD and reboot the system.
  14. When the system reboots, enable "boot from target" in iSCSI Boot Parameters and continue with installation until it is done.

At this stage, the initial installation phase is complete. The rest of the procedure pertains to creating a new customized initrd for any new components update:

  1. Update iscsi initiator if desired. You will first need to remove the existing initiator using rpm -e.
  2. Make sure all runlevels of network service are on:
  3. chkconfig network on
    
  4. Make sure 2,3 and 5 runlevels of iscsi service are on.
  5. chkconfig -level 235 iscsi on
    
  6. For Red Hat 6.0, make sure Network Manager service is stopped and disabled.
  7. Install iscsiuio if desired (not required for SuSE 10).
  8. Install linux-nx2 package if desired.
  9. Install bibt package.
  10. Remove ifcfg-eth*.
  11. Reboot.
  12. For SUSE 11.1, follow the remote DVD installation workaround shown below.
  13. After the system reboots, log in, change to the /opt/bcm/bibt folder, and run iscsi_setup.sh script to create the offload and/or the non-offload initrd image.
  14. Copy the initrd image(s), offload and/or non-offload, to the /boot folder.
  15. Change the grub menu to point to the new initrd image.
  16. To enable CHAP, you need to modify iscsid.conf (Red Hat only).
  17. Reboot and change CHAP parameters if desired.
  18. Continue booting into the iSCSI Boot image and select one of the images you created (non-offload or offload). Your choice should correspond with your choice in the iSCSI Boot parameters section. If HBA Boot Mode was enabled in the iSCSI Boot Parameters section, you have to boot the offload image. SLES 10.x and SLES 11 do not support offload.
  19. For IPv6, you can now change the IP address for both the initiator and the target to the desired IPv6 address in the NVRAM configuration.

SUSE 11.1 Remote DVD installation workaround

  1. Create a new file called boot.open-iscsi with the content shown below.
  2. Copy the file you just created to /etc/init.d/ folder and overwrite the existing one.

Content of the new boot.open-iscsi file:

#!/bin/bash
#
# /etc/init.d/iscsi
#
### BEGIN INIT INFO
# Provides:          iscsiboot
# Required-Start:
# Should-Start:      boot.multipath
# Required-Stop:
# Should-Stop:       $null
# Default-Start:     B
# Default-Stop:      
# Short-Description: iSCSI initiator daemon root-fs support
# Description:       Starts the iSCSI initiator daemon if the
#                    root-filesystem is on an iSCSI device
#               
### END INIT INFO
ISCSIADM=/sbin/iscsiadm
ISCSIUIO=/sbin/iscsiuio
CONFIG_FILE=/etc/iscsid.conf
DAEMON=/sbin/iscsid
ARGS="-c $CONFIG_FILE"
# Source LSB init functions
. /etc/rc.status
#
# This service is run right after booting. So all targets activated
# during mkinitrd run should not be removed when the open-iscsi
# service is stopped.
#
iscsi_load_iscsiuio()
{
    TRANSPORT=`$ISCSIADM -m session 2> /dev/null | grep "bnx2i"`
    if [ "$TRANSPORT" ] ; then
	echo -n "Launch iscsiuio "
        startproc $ISCSIUIO
    fi
}
iscsi_mark_root_nodes()
{
    $ISCSIADM -m session 2> /dev/null | while read t num i target ; do
	ip=${i%%:*}
	STARTUP=`$ISCSIADM -m node -p $ip -T $target 2> /dev/null | grep "node.conn\[0\].startup" | cut -d' ' -f3`
	if [ "$STARTUP" -a "$STARTUP" != "onboot" ] ; then
	    $ISCSIADM -m node -p $ip -T $target -o update -n node.conn[0].startup -v onboot
	fi
    done
}
# Reset status of this service
rc_reset
# We only need to start this for root on iSCSI
if ! grep -q iscsi_tcp /proc/modules ; then
    if ! grep -q bnx2i /proc/modules ; then
        rc_failed 6
        rc_exit
    fi
fi
case "$1" in
    start)
	echo -n "Starting iSCSI initiator for the root device: "
	iscsi_load_iscsiuio
	startproc $DAEMON $ARGS
	rc_status -v
	iscsi_mark_root_nodes
	;;
    stop|restart|reload)
	rc_failed 0
	;;
    status)
	echo -n "Checking for iSCSI initiator service: "
	if checkproc $DAEMON ; then
	    rc_status -v
	else
	    rc_failed 3
	    rc_status -v
	fi
	;;
    *)
	echo "Usage: $0 {start|stop|status|restart|reload}"
	exit 1
	;;
esac
rc_exit

Injecting (Slipstreaming) the Broadcom Drivers into Windows Image Files

To inject Broadcom drivers into the Windows image files, you must obtain the following correct Broadcom driver packages for the applicable Windows Server version (2008 R2, 2008 SP2, 2012, or 2012 R2).

Then, you place these driver packages to a working directory. For example, copy the driver packages to the following directories:

Finally, you inject these drivers into the Windows Image (WIM) files and install the applicable Windows Server version from the updated images.

The detailed steps are provided below:

 

NOTE: The file and folder names used in this procedure are examples only. You can specify your own file and folder names for your slipstream project.

  1. For Windows Server 2008 R2 and SP2, install the Windows Automated Installation Kit (AIK).
    —or—
    For Windows Server 2012 and 2012 R2, install the Windows Assessment and Deployment Kit (ADK).
  2. Use the following commands to create a temporary directory and set it as the current directory for all later steps:
  3. md C:\Temp\x
    
    cd /d C:\Temp\x
    
  4. Use the following commands to create two subdirectories:
  5. md src
    
    md mnt
    
  6. Use the following command to copy the original DVD into the src subdirectory.
  7. xcopy N:\ .\src /e /c /i /f /h /k /y /q
    

    Note that in this example, the installation DVD is in the N: drive.

  8. Open a Deployment and Imaging Tools command prompt in elevated mode. Then, set c:\Temp\x as the current directory.
  9. Note that you will use this command prompt window in all subsequent steps.

  10. Enter the following commands:
  11. attrib -r .\src\sources\boot.wim 
    
    attrib -r .\src\sources\install.wim
    
  12. Enter run the following command to mount the boot.wim image:
  13. dism /mount-wim /wimfile:.\src\sources\boot.wim /index:2 /mountdir:.\mnt
    

    Note that you must always use "2" for the index value.

  14. Enter the following commands to add the below drivers to the currently mounted image:
  15. dism /image:.\mnt /add-driver /driver:C:\Temp\evbd\evbd.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxnd\bxnd.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxvbd\bxvbd.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxfcoe\bxfcoe.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\b57nd60a\b57nd60a.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxois\bxois.inf
    
  16. Enter the following command to unmount the boot.wim image:
  17. dism /unmount-wim /mountdir:.\mnt /commit
    
  18. Enter the following command to determine the index of the desired SKU in the install.wim image:
  19. dism /get-wiminfo /wimfile:.\src\sources\install.wim
    

    For example, in Windows Server 2012, index 2 is identified as "Windows Server 2012 SERVERSTANDARD."

  20. Enter the following command to mount the install.wim image:
  21. dism /mount-wim /wimfile:.\src\sources\install.wim /index:X /mountdir:.\mnt
    

    Note that X is a placeholder for the index value that you obtained in step 10.

  22. Enter the following commands to add these drivers to the currently mounted image:
  23. dism /image:.\mnt /add-driver /driver:C:\Temp\evbd\evbd.inf 
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxnd\bxnd.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxvbd\bxvbd.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxfcoe\bxfcoe.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\b57nd60a\b57nd60a.inf
    
    dism /image:.\mnt /add-driver /driver:C:\Temp\bxois\bxois.inf
    
  24. Enter the following command to unmount the install.wim image:
  25. dism /unmount-wim /mountdir:.\mnt /commit
    
  26. Enter the following command to create an .iso file:
  27. oscdimg -e -h -m -n -lslipstream -bootdata:2#p0,e,b"c:\Program Files\Windows
    
    AIK\Tools\PETools\amd64\boot\etfsboot.com"#pEF,e,b"c:\Program Files\Windows
    
    AIK\Tools\PETools\amd64\boot\efisys.bin" c:\temp\x\src c:\temp\Win20xxMOD.iso
    

    Note that Platform is a placeholder for the architecture of the operating system that you want to install, such as amd64 or x86. Also, xx in the file names is a placeholder for the Windows Server OS version (2012, 2008R2, 2008SP2.)

  28. Using a DVD-burning application, burn the .iso file you created to a DVD.
  29. Use the DVD that you created in step 15 to install the applicable Windows Server version.
Booting

After that the system has been prepared for an iSCSI boot and the operating system is present on the iSCSI target, the last step is to perform the actual boot. The system will boot to Windows or Linux over the network and operate as if it were a local disk drive.

  1. Reboot the server.
  2. Select CTRL+S.
  3. From the Main menu, select General Parameters and configure the Boot to iSCSI target option to Enabled.

If CHAP authentication is needed, enable CHAP authentication after determining that booting is successful (see Enabling CHAP Authentication).

Other iSCSI Boot Considerations

There are several other factors that should be considered when configuring a system for iSCSI boot.

Changing the Speed & Duplex Settings in Windows Environments

Booting via the NDIS path is supported. The Speed & Duplex settings can be changed using the BACS management utility for iSCSI boot via the NDIS path.

Virtual LANs

Virtual LAN (VLAN) tagging is not supported for iSCSI boot with the Microsoft iSCSI Software Initiator.

The 'dd' method of creating an iSCSI boot image

In the case when installation directly to a remote iSCSI target is not an option, an alternate way to create such an image is to use the `dd' method. With this method, you install the image directly to a local hard drive and then create an iSCSI boot image for the subsequent boot:

  1. Install Linux OS on your local hard drive and ensure that the Open-iSCSI initiator is up to date.
  2. Ensure that all Runlevels of network service are on.
  3. Ensure that the 2, 3, and 5 Runlevels of iSCSI service are on.
  4. Update iscsiuio. You can get the iscsiuio package from the Broadcom CD. This step is not needed for SuSE 10.
  5. Install the linux-nx2 package on your Linux system. You can get this package from Broadcom CD.
  6. Install bibt package on you Linux system. You can get this package from Broadcom CD.
  7. Delete all ifcfg-eth* files.
  8. Configure one port of the network adapter to connect to iSCSI Target (for instructions, see Configuring the iSCSI Target).
  9. Connect to the iSCSI Target.
  10. Use the DD command to copy from the local hard drive to iSCSI Target.
  11. When DD is done, execute the sync command a couple of times, log out, and then log in to iSCSI Target again.
  12. Run the fsck command on all partitions created on the iSCSI Target.
  13. Change to the /OPT/bcm/bibt folder and run the iscsi_setup.sh script to create the initrd images. Option 0 will create a non-offload image and option 1 will create an offload image. The Iscsi_script.sh script will create the non-offload image only on SuSE 10 as offload is not supported on SuSE 10.
  14. Mount the /boot partition on the iSCSI Target.
  15. Copy the initrd images you created in step 13 from your local hard drive to the partition mounted in step 14.
  16. On the partition mounted in step 14, edit the grub menu to point to the new initrd images.
  17. Unmount the /boot partition on the iSCSI Target.
  18. (Red Hat Only) To enable CHAP, you need to modify the CHAP section of the iscsid.conf file on the iSCSI Target. Edit the iscsid.conf file with one-way or two-way CHAP information as desired.
  19. Shut down the system and disconnect the local hard drive. Now you are ready to iSCSI boot the iSCSI Target.
  20. Configure iSCSI Boot Parameters, including CHAP parameters if desired (see Configuring the iSCSI Target).
  21. Continue booting into the iSCSI Boot image and choose one of the images you created (non-offload or offload). Your choice should correspond with your choice in the iSCSI Boot parameters section. If HBA Boot Mode was enabled in the iSCSI Boot Parameters section, you have to boot the offload image. SuSE 10.x and SLES 11 do not support offload.

Troubleshooting iSCSI Boot

The following troubleshooting tips are useful for iSCSI boot.

Problem: A system blue screen occurs when iSCSI boots Windows Server 2008 R2 through the adapter's NDIS path with the initiator configured using a link-local IPv6 address and the target configured using a router-configured IPv6 address.
Solution: This is a known Windows TCP/IP stack issue.

Problem: The Broadcom iSCSI Crash Dump utility will not work properly to capture a memory dump when the link speed for iSCSI boot is configured for 10 Mbps or 100 Mbps.
Solution: The iSCSI Crash Dump utility is supported when the link speed for iSCSI boot is configured for 1 Gbps or 10 Gbps. 10 Mbps or 100 Mbps is not supported.

Problem: An iSCSI target is not recognized as an installation target when you try to install Windows Server 2008 by using an IPv6 connection.
Solution: This is a known third-party issue. See Microsoft Knowledge Base KB 971443, http://support.microsoft.com/kb/971443.

Problem: When switching iSCSI boot from the Microsoft standard path to Broadcom iSCSI offload, the booting fails to complete.
Solution: Install or upgrade the Broadcom Virtual Bus Device (VBD) driver to 5.0.x, along with the OIS driver, prior to switching the iSCSI boot path.

Problem: The iSCSI configuration utility will not run.
Solution: Ensure that the iSCSI Boot firmware is installed in the NVRAM.

Problem: A system blue screen occurs when installing the Broadcom drivers through Windows Plug-and-Play (PnP).
Solution: Install the drivers through the Setup installer.

Problem: For static IP configuration when switching from Layer 2 iSCSI boot to Broadcom iSCSI HBA, then you will receive an IP address conflict.
Solution: Change the IP address of the network property in the OS.

Problem: After configuring the iSCSI boot LUN to 255, a system blue screen appears when performing iSCSI boot.
Solution: Although Broadcom's iSCSI solution supports a LUN range from 0 to 255, the Microsoft iSCSI software initiator does not support a LUN of 255. Configure a LUN value from 0 to 254.

Problem: NDIS miniports with Code 31 yellow-bang after L2 iSCSI boot install.
Solution: Run the T7.4 installer.

Problem: Unable to update inbox driver if a non-inbox hardware ID present.
Solution: Create a custom slipstream DVD image with supported drivers present on the install media.

Problem: In Windows Server 2012, toggling between iSCSI HBA offload mode and iSCSI software initiator boot can leave the machine in a state where the HBA offload miniport bxois will not load.
Solution: Manually edit [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bxois\StartOverride] from 3 to 0.
Modify the registry key before toggling back from NDIS to HBA path in CCM.

 

NOTE: Microsoft recommends against this method. Toggling the boot path from NDIS to HBA or vice versa after installation is completed is not recommended.

Problem: Installing Windows onto an iSCSI target via iSCSI boot fails when connecting to a 1 Gbps switch port.
Solution: This is a limitation relating to adapters that use SFP+ as the physical connection. SFP+ defaults to 10 Gbps operation and does not support autonegotiation.

iSCSI Crash Dump

If you will use the Broadcom iSCSI Crash Dump utility, it is important to follow the installation procedure to install the iSCSI Crash Dump driver. See Using the Installer for more information.


Back to Contents Page